async await
async
async functionはPromiseを返す
値をreturnした場合はresolve
例外がthrowとかされた場合はreject
Promiseを返すのでthenとかcatchもできる
thenに関してはthenableであれば、かな
await
async functionの中でだけ使うことができる
Promiseの結果が返ってくるまで、直近のasync functionをwaitする
"直近の"というのがミソで、うっかりするとArrayのiteratorとかでasync awaitを使いたいときにハマる